package br.com.rglariguet.pioneer.modelos;

import java.util.Calendar;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.Valid;

import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;

@Entity
public class Produto{
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private long id;
	
	@OneToOne
	@Valid
	private DadosBasicosProduto dadosBasicos;
	@NotEmpty(message="{numeroserie.obrigatorio}")
	private String numeroDeSerie;
	@NotEmpty(message="{nf.obrigatorio}")
	private String numeroDaNotaFiscal;
	private String estadoDeConservacao;
	private String localDaCompra;
	@DateTimeFormat(pattern="dd/MM/yyyy")
	@Temporal(TemporalType.DATE)
	private Calendar dataDaCompra;
	
	
	
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getNumeroDeSerie() {
		return numeroDeSerie;
	}
	public void setNumeroDeSerie(String numeroDeSerie) {
		this.numeroDeSerie = numeroDeSerie;
	}
	public String getNumeroDaNotaFiscal() {
		return numeroDaNotaFiscal;
	}
	public void setNumeroDaNotaFiscal(String numeroDaNotaFiscal) {
		this.numeroDaNotaFiscal = numeroDaNotaFiscal;
	}
	public String getEstadoDeConservacao() {
		return estadoDeConservacao;
	}
	public void setEstadoDeConservacao(String estadoDeConservacao) {
		this.estadoDeConservacao = estadoDeConservacao;
	}
	public String getLocalDaCompra() {
		return localDaCompra;
	}
	public void setLocalDaCompra(String localDaCompra) {
		this.localDaCompra = localDaCompra;
	}
	public Calendar getDataDaCompra() {
		return dataDaCompra;
	}
	public void setDataDaCompra(Calendar dataDaCompra) {
		this.dataDaCompra = dataDaCompra;
	}
	public DadosBasicosProduto getDadosBasicos() {
		return dadosBasicos;
	}
	public void setDadosBasicos(DadosBasicosProduto dadosBasicos) {
		this.dadosBasicos = dadosBasicos;
	}

	

}
